package com.library.cx.dao;


import com.library.cx.into.Libary;
import com.library.cx.util.BaseDao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class Libraryimpl extends BaseDao  {
    /**
     * 登录的方法
     */
    public int denglu(String name, String password) {
        String sql="SELECT COUNT(`id`) FROM `admin` WHERE `name`=? AND `pwd`=?";
        ResultSet rs=executeQUery(sql,name,password);
        int count =0;
        try{
            rs.next();
            count =rs.getInt(1);
        }catch (SQLException e){
            e.printStackTrace();
        }
        return count;
    }

    /**
     * 查询总数的方法
     * @return int
     */

    public int totalCount() {
        String sql = "SELECT COUNT(`bookId`) FROM `book`";
        ResultSet rs = executeQUery(sql);
        int totalCount = 0;
        try {
            while (rs.next()) {
                totalCount = rs.getInt(1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            close(conn,stat,set,rs);

        }
        return totalCount;
    }

    /**
     * 分页查询的方法
     * @param name 书名
     * @param zuoz 作者
     * @param currentPage  起始下标
     * @param pageSize      结束下标
     * @return list
     */
//    @Override
//    public List<Libary> finall(String name, String zuoz, Integer currentPage, Integer pageSize) {
//        String sql = "";
//        ResultSet rs = null;
//        /**
//         * 无条件查询
//         */
//        if (name.equals("全部") && zuoz.equals("全部")) {
//
//            sql = "SELECT `bookId`,`bookName`,`typeName`,`author`,`sum`,`price`,`location`,`source`,`jdate`FROM `book` bo,`booktype`  b WHERE b.`id`=bo.`type`  LIMIT ?,?";
//            rs = executeQUery(sql, currentPage, pageSize);
//        }
//        //根据书名查询
//        else if (!name.equals("全部") && zuoz.equals("全部")){
//            sql = "SELECT `bookId`,`bookName`,`typeName`,`author`,`sum`,`price`,`location`,`source`,`jdate`FROM `book` bo,`booktype`  b WHERE b.`id`=bo.`type` AND `bookName` LIKE CONCAT('%',?,'%') LIMIT ?,?";
//            rs = executeQUery(sql, name,currentPage,pageSize);
//        }
//        //根据作者查询
//        else if (name.equals("全部") && !zuoz.equals("全部")){
//            sql = "SELECT `bookId`,`bookName`,`typeName`,`author`,`sum`,`price`,`location`,`source`,`jdate` FROM `book` bo,`booktype`  b WHERE b.`id`=bo.`type` AND `author` LIKE CONCAT('%',?,'%') LIMIT ?,?";
//            rs = executeQUery(sql, zuoz,currentPage,pageSize);
//        }
//        //双条件查询
//        else if (!name.equals("全部") && !zuoz.equals("全部")){
//          sql = "SELECT `bookId`,`bookName`,`typeName`,`author`,`sum`,`price`,`location`,`source`,`jdate` FROM `book` bo,`booktype`  b WHERE b.`id`=bo.`type` AND `author` LIKE CONCAT('%',?,'%') AND `bookName` LIKE CONCAT('%',?,'%')  LIMIT ?,?";
//            rs = executeQUery(sql, zuoz,name,currentPage,pageSize);
//        }
//        List<Libary> list = new ArrayList<>();
//        try {
//            while (rs.next()) {
//                Integer id = rs.getInt(1);
//                String bookname = rs.getString(2);
//                String type = rs.getString(3);
//                String author = rs.getString(4);
//                Integer sum = rs.getInt(5);
//                Integer price = rs.getInt(6);
//                String location = rs.getString(7);
//                String source = rs.getString(8);
//                String jdate = rs.getString(9);
//                Libary libary=new Libary(id,bookname,type,author,sum,price,location,source,jdate);
//                list.add(libary);
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }finally {
//            close(conn,stat,set,rs);
//        }
//        return list;
//    }

    /**
     * 删除的方法
     * @param id 书籍编号
     * @return
     */
    public int detece(Integer id) {
        String sql="DELETE FROM `book` WHERE  `bookId`=?";
       int rs=executeUPdate(sql,id);
        return rs;
    }

    /**
     * 修改管理员密码的方法
     * @param name  用户名
     * @param password  密码
     * @return  int
     */
//    @Override
//    public int updateadmit(String name, String password) {
//        String sql="UPDATE admin SET pwd=? WHERE `name`=?";
//        int rs=executeUPdate(sql,password,name);
//        return rs;
//    }

    /**
     *  找回管理员密码
     * @param name 用户名
     * @param phone 手机号
     * @param newpad  新密码
     * @return
     */
//    @Override
//    public int admin(String name, String phone, String newpad) {
//        String sql="UPDATE admin SET pwd=? WHERE `name`=? AND phone=?";
//        int rs=executeUPdate(sql,newpad,name,phone);
//        return rs;
//    }

    /**
     * 添加的方法
     * @param bookName 书名
     * @param typeName 书籍分类
     * @param author 作者
     * @param sum 库存
     * @param price 价格
     * @param location 书籍位置
     * @param source 书籍来源
     * @param jdate 入库时间
     * @return int
     */
//    @Override
//    public int insert(String bookName, Integer typeName, String author, Integer sum, Integer price, String location, String source, String jdate) {
//       String sql="INSERT INTO `book`.`book` (`bookName`, `type`, `author`, `sum`, `price`, `location`, `source`, `jdate`)VALUES(?,?,?,?,?,?,?,?)";
//       int rs=executeUPdate(sql,bookName,typeName,author,sum,price,location,source,jdate);
//       return rs;
//    }

    /**
     * 修改的方法
     * @param bookName 书名
     * @param typeName 书籍分类
     * @param author 作者
     * @param sum 库存
     * @param price 价格
     * @param location 书籍位置
     * @param source 书籍来源
     * @param jdate 入库时间
     * @return int
     */
//    @Override
//    public int update(Integer id ,String bookName, Integer typeName, String author, Integer sum, Integer price, String location, String source, String jdate) {
//        String sql="UPDATE `book` SET `bookName`=?,`type`=?,`author`=?,`sum`=?,`price`=?,`location`=?,`source`=?,`jdate`=? WHERE `bookId`=?";
//        int rs=executeUPdate(sql,bookName,typeName,author,sum,price,location,source,jdate,id);
//        return rs;
//    }
}
